A Model-driven Pointcut Language for More Robust Pointcuts

نویسندگان

  • Andy Kellens
  • Kris Gybels
  • Johan Brichau
چکیده

Improved modularity and separation of concerns do not only intend to aid initial development, but are conceived such that developers can better manage software complexity, evolution and reuse [9]. Paradoxically, the essential techniques that AOSD proposes to improve software modularity seem to restrict the evolvability of that software. More specifically, the pointcuts that state when and where aspects need to be invoked during the execution of the base program, are fragile to evolutions of that base program. This is because these pointcut definitions typically rely heavily on the structure of the base program. This tight coupling of the pointcut definitions to the base program’s structure and behaviour can seriously hamper the evolvability of the software [12]: it implies that all pointcuts of each aspect need to be checked and possibly revised whenever the base program evolves. This problem has been coined the fragile pointcut problem [11, 5] and causes evolution problems that are specific to aspect-oriented languages. We tackle the fragile pointcut problem by replacing the intimate dependency of pointcut definitions on the base program by a more stable dependency on a conceptual model of the program. These model-based pointcuts are less likely to change upon evolution, because they are no longer defined in terms of how the program happens to be structured at a certain point in time, but rather in terms of a model of the pro-

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Application-Specific Models and Pointcuts Using a Logic Meta Language

In contemporary aspect-oriented languages, pointcuts are usually specified directly in terms of the structure of the source code. The definition of such low-level pointcuts requires aspect developers to have a profound understanding of the entire application’s implementation and often leads to complex, fragile, and hard to maintain pointcut definitions. To resolve these issues, we present an as...

متن کامل

Back to the future Pointcuts as Predicates over Traces

Pointcuts in aspect-oriented languages can be seen as predicates over events in the computation of a program. The ability to express temporal relations between such events is a key feature towards more expressive pointcut languages. In this paper, we describe the design and implementation of a pointcut language within which pointcuts are predicates over the complete execution trace of the progr...

متن کامل

Automated Pattern-Based Pointcut Generation

One of the main problems in Aspect-Oriented Software Development is the so-called fragile pointcut problem. Uncovering and specifying a good robust pointcut is not an easy task. In this paper we propose to use Inductive Logic Programming, and more specifically the FOIL algorithm, to automatically identify intentional pattern-based pointcuts. We present the toolchain we implemented to induce a p...

متن کامل

Pointcut Design with AODL

The designing of pointcuts is a crucial step in AspectOriented software development. Pointcuts decide the places where aspects interact with the base system. Without designing these pointcuts properly, the weaving process of aspects with the base system cannot be modelled efficiently. A good design of pointcuts can ensure proper identification of join points, clear representation of advice-poin...

متن کامل

Are Pointcuts a First-Class Language Feature?

This paper challenges the notion “pointcut” and its role in defining the essence of aspect-oriented programming languages. We present a conceptual experiment of explaining AOP without using the notion “pointcut” demonstrating a large subset of AOP for which simpler and better-explored notions suffice. By the remaining delta to existing aspect languages we narrow down for which precise concept t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006